package com.sdry.service.impl.jyy.plan;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.sdry.mapper.jyy.plan.Plan2tMapper;
import com.sdry.model.jyy.plan.Needs;
import com.sdry.model.jyy.plan.Plan2t;
import com.sdry.model.jyy.plan.PlanDetail;
import com.sdry.model.plan.DispatchBillDetail;
import com.sdry.service.jyy.plan.Plan2tService;
/**
 *
 *@ClassName: Plan2tService
 *@Description: 生产计划
 *@Author llm
 *@Date 2019-07-02 17:32:04
 *@version 1.0
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class Plan2tServiceImpl implements Plan2tService {
	@Resource Plan2tMapper Plan2tMapper;
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public Plan2t queryById(Long id) {
		return Plan2tMapper.queryById(id);
	}
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Plan2t> queryAllByMution(Plan2t param) {
		return Plan2tMapper.queryAllByMution(param);
	}
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Plan2t> findPageByMution(Plan2t param) {
		return Plan2tMapper.findPageByMution(param);
	}
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(Plan2t param) {
		return Plan2tMapper.selectCountByMution(param);
	}
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(Plan2t param) {
		return Plan2tMapper.insert(param);
	}
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(Plan2t param) {
		return Plan2tMapper.update(param);
	}
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids) {
		return Plan2tMapper.delete(ids);
	}
	/**       
	 * @param productId
	 * @return    
	 */
	@Override
	public List<DispatchBillDetail> findMaterielByProductBom(Long productId) {
		return Plan2tMapper.findMaterielByProductBom(productId);
	}
	/**  
	 * 查物料库存     
	 * @param materielId
	 * @return    
	 */
	@Override
	public Integer getInventoryByMaterielId(Long materielId) {
		return Plan2tMapper.getInventoryByMaterielId(materielId);
	}
	/**
	 * 根据车型id查bom
	 * @param pid车型
	 * @return
	 */
	@Override
	public List<Needs> selectBomBypid(PlanDetail planDetail) {
		return Plan2tMapper.selectBomBypid(planDetail);
	}
}
